package com.qujia.integral.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qujia.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 【请填写功能名称】对象 integral_rule
 *
 * @author qujia
 * @date 2021-03-11
 */
public class IntegralRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 油站id */
    private Long stationId;

    /** 油站名称 */
    private String stationName;

    /** 有效期设置 */
    private String termDateManage;

    /** 清空积分时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date emptyDate;

    /** 积分活动设置 */
    private String integralActivity;

    /** 日期选择 */
    private String datePicker;

    /** 日期选择 */
    private String datePickerTime;
    /** 积分比例 */
    private String integralProportion;

    /**
     * 积分有效期设置
     */
    private String integralTermSetting;
    /**
     * 积分清空时间
     */

    private BigDecimal ruleTerms;
    private String ruleType;
    /** 会员等级 */
    private String grade;
    /** 油品名称 */
    private String oilName;
    /** 每消费金额 */
    private BigDecimal saleAmt;
    /** 兑换积分 */
    private BigDecimal integral;
    /** 油品类型 1.油品。2.非油品*/
    private String oilType;

    private String  integralFlag;
    private String  image1;
    private String  image2;
    private String  image3;
    private String  image4;
    private String  image5;
    private String  gradeName;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date  integralEmptyTime;


    /** 规则类型 */
    @Excel(name = "成长值")
    private Long growValue;


    /** 油企的id信息 */
    private Long enterpriseId;

    @ApiModelProperty("商品展示类型。1、单排，2、双排")
    private Integer showType;


    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Long getGrowValue() {
        return growValue;
    }

    public void setGrowValue(Long growValue) {
        this.growValue = growValue;
    }

    public Date getIntegralEmptyTime() {
        return integralEmptyTime;
    }

    public void setIntegralEmptyTime(Date integralEmptyTime) {
        this.integralEmptyTime = integralEmptyTime;
    }

    public String getGradeName() {
        return gradeName;
    }

    public void setGradeName(String gradeName) {
        this.gradeName = gradeName;
    }

    public String getImage1() {
        return image1;
    }

    public void setImage1(String image1) {
        this.image1 = image1;
    }

    public String getImage2() {
        return image2;
    }

    public void setImage2(String image2) {
        this.image2 = image2;
    }

    public String getImage3() {
        return image3;
    }

    public void setImage3(String image3) {
        this.image3 = image3;
    }

    public String getImage4() {
        return image4;
    }

    public void setImage4(String image4) {
        this.image4 = image4;
    }

    public String getImage5() {
        return image5;
    }

    public void setImage5(String image5) {
        this.image5 = image5;
    }

    public String getIntegralFlag() {
        return integralFlag;
    }

    public void setIntegralFlag(String integralFlag) {
        this.integralFlag = integralFlag;
    }

    public BigDecimal getRuleTerms() {
        return ruleTerms;
    }

    public void setRuleTerms(BigDecimal ruleTerms) {
        this.ruleTerms = ruleTerms;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getOilName() {
        return oilName;
    }

    public void setOilName(String oilName) {
        this.oilName = oilName;
    }

    public BigDecimal getSaleAmt() {
        return saleAmt;
    }

    public void setSaleAmt(BigDecimal saleAmt) {
        this.saleAmt = saleAmt;
    }

    public BigDecimal getIntegral() {
        return integral;
    }

    public void setIntegral(BigDecimal integral) {
        this.integral = integral;
    }

    public String getOilType() {
        return oilType;
    }

    public void setOilType(String oilType) {
        this.oilType = oilType;
    }

    public String getIntegralTermSetting() {
        return integralTermSetting;
    }

    public void setIntegralTermSetting(String integralTermSetting) {
        this.integralTermSetting = integralTermSetting;
    }

    private List<IntegralRuleDetail> itemsDetail;
    private List<IntegralShopPic> imgFileList;

    public String getDatePickerTime() {
        return datePickerTime;
    }

    public void setDatePickerTime(String datePickerTime) {
        this.datePickerTime = datePickerTime;
    }

    public List<IntegralShopPic> getImgFileList() {
        return imgFileList;
    }

    public void setImgFileList(List<IntegralShopPic> imgFileList) {
        this.imgFileList = imgFileList;
    }

    public List<IntegralRuleDetail> getItemsDetail() {
        return itemsDetail;
    }

    public void setItemsDetail(List<IntegralRuleDetail> itemsDetail) {
        this.itemsDetail = itemsDetail;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setStationId(Long stationId)
    {
        this.stationId = stationId;
    }

    public Long getStationId()
    {
        return stationId;
    }
    public void setStationName(String stationName)
    {
        this.stationName = stationName;
    }

    public String getStationName()
    {
        return stationName;
    }
    public void setRuleType(String ruleType)
    {
        this.ruleType = ruleType;
    }

    public String getRuleType()
    {
        return ruleType;
    }
    public void setTermDateManage(String termDateManage)
    {
        this.termDateManage = termDateManage;
    }

    public String getTermDateManage()
    {
        return termDateManage;
    }
    public void setEmptyDate(Date emptyDate)
    {
        this.emptyDate = emptyDate;
    }

    public Date getEmptyDate()
    {
        return emptyDate;
    }
    public void setIntegralActivity(String integralActivity)
    {
        this.integralActivity = integralActivity;
    }

    public String getIntegralActivity()
    {
        return integralActivity;
    }
    public void setDatePicker(String datePicker)
    {
        this.datePicker = datePicker;
    }

    public String getDatePicker()
    {
        return datePicker;
    }
    public void setIntegralProportion(String integralProportion)
    {
        this.integralProportion = integralProportion;
    }

    public String getIntegralProportion()
    {
        return integralProportion;
    }

    public Integer getShowType(){
        return showType;
    }

    public void setShowType(){
        this.showType = showType;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("stationId", getStationId())
            .append("termDateManage", getTermDateManage())
            .append("emptyDate", getEmptyDate())
            .append("integralActivity", getIntegralActivity())
            .append("datePicker", getDatePicker())
            .append("integralProportion", getIntegralProportion())
            .append("integralEmptyTime", getIntegralEmptyTime())
                .append("showType",getShowType())
            .toString();
    }
}
